iT邦幫忙

2024 iThome 鐵人賽

DAY 19
0
DevOps

DevOps需要的技能樹...(應該)都點得到!系列 第 19

Day 19: 設置 AWS ALB(Application Load Balancer)進行負載均衡

  • 分享至 

  • xImage
  •  

本章節「AWS」概要

Day 17: 使用 AWS EC2 部署 Docker 容器
Day 18: AWS Elastic Kubernetes Service (EKS) 入門
Day 19: 設置 AWS ALB(Application Load Balancer)進行負載均衡
Day 20: AWS Auto Scaling 自動調整實例數量
Day 21: AWS S3 與容器化應用數據存儲
Day 22: 使用 AWS RDS 管理關聯式資料庫
Day 23: 使用 AWS Inspector 進行安全性掃描與合規性檢查

Day18-23都會產生費用,不適用於免費方案,請斟酌練習喔!

認識 AWS ALB

AWS ALB(Application Load Balancer)是 AWS 的一種負載均衡服務,專為第七層(應用層)流量設計。它支持基於 URL 路徑、主機名、HTTP 標頭等屬性進行流量路由,適合微服務架構和容器化應用。ALB 提供高可用性、自動擴展、健康檢查及 SSL 終端,並且可以與 AWS 的 Auto Scaling 和容器服務(如 ECS 和 EKS)無縫集成。

Domain/DNS/ALB/Application之間的關係

用戶輸入域名,該域名通過 DNS 解析為 IP 地址。
解析出的 IP 地址指向 ALB,它負責接收和處理請求。
ALB 根據配置的路由規則,將請求轉發到後端的應用程式。
應用程式接收請求,執行相應的業務邏輯並返回響應。

事前準備

運行一個apache伺服器,待會測試用

version: '2'

services:
  apache:
    image: 'bitnami/apache:latest'
    ports:
      - '8080:8080'
      - '8443:8443'
    volumes:
      - /path/to/app:/app

建立ALB

https://ithelp.ithome.com.tw/upload/images/20240812/20168384lrVwTcxfez.jpg

  • EC2 > 負載平衡 > 負載平衡器 > 建立負載平衡器 > ALB

https://ithelp.ithome.com.tw/upload/images/20240812/20168384AqnKmFTEOB.jpg

  • EC2 > 負載平衡 > 目標群組 > 建立目標群組
    填寫到中間會需要關聯一個「目標群組」,建立完成之後回到ALB的分頁刷新就會看見

https://ithelp.ithome.com.tw/upload/images/20240812/20168384vD24r5lGR3.jpg

  • 註冊目標

https://ithelp.ithome.com.tw/upload/images/20240812/20168384tWoQzNzbQw.jpg

  • 稍等生效

https://ithelp.ithome.com.tw/upload/images/20240812/20168384tWskFc79nB.jpg

  • 待DNS能解析到之後,訪問ALB的DNS地址

https://ithelp.ithome.com.tw/upload/images/20240812/20168384mIrb6HK6vS.jpg

  • 訪問成功

https://ithelp.ithome.com.tw/upload/images/20240812/20168384Yp2J5Xiqge.jpg

同場加映:自備域名

假設你有通過cloudflare等平台託管域名
需要去後台新增DNS > A記錄

https://ithelp.ithome.com.tw/upload/images/20240812/20168384CVjbl2wlMc.jpg

https://ithelp.ithome.com.tw/upload/images/20240812/2016838476gYzRB7bi.jpg

再回到AWS控制台
EC2 負載平衡器 > test(ALB名稱)> 接聽程式 > 新增規則

https://ithelp.ithome.com.tw/upload/images/20240812/20168384hkWkoiO2yV.jpg

就能將你的主機/服務/域名串起來囉!


上一篇
Day 18: AWS Elastic Kubernetes Service (EKS) 入門
下一篇
Day 20: AWS Auto Scaling 自動調整實例數量
系列文
DevOps需要的技能樹...(應該)都點得到!30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言